﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using ReportsClassLibrary;
using SchedulesClassLibrary;

namespace WCF_QC
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IService1
    {
        //------------- From Measurements Class  
       
        [OperationContract]
        //gets list of materials scheduled for the current day
        DataTable ListofMaterialsScheduled();
        
       

        //display gets measurements by for each material by materialid
        [OperationContract]
        DataTable DisplayRequiredMeasurements(int materialID); 

        //takes input from measurements screen and sends it to the Measurements DB
        [OperationContract]
        string GetMeasurementsTaken(decimal measurement, int orderID, int materialattribID, int materialID);
       
        [OperationContract]
        string GetMeasurementsTaken_table(DataTable table);

  //---------- From Orders Class 
        //[OperationContract]
        //DataTable GetCurrentDayOrders(DateTime StartDate, DateTime EndDate);

        //[OperationContract]
        //DataTable GetFutureOrders(DateTime StartDate, DateTime EndDate);

//----------From Reports Class
        [OperationContract]
        List<Report> GetReportData(DateTime startDate, DateTime endDate, string type);

        //[OperationContract]
        //DataTable allReportData();


//---------From MachineSchedule Class
        [OperationContract]
        List<MachineSchedule> GetScheduleData();

        [OperationContract]
        List<MachineSchedule> TestScheduleData();

        [OperationContract]
        List<MachineSchedule> TeamStatusData();

        [OperationContract]
        List<MachineSchedule> SingleMachineRunning(int MachnID);


//----------From Login Class
        //[OperationContract]
        //bool LoginUser();

        //[OperationContract]
        //DataTable DisplaySession();


        //[OperationContract]
        //CompositeType GetDataUsingDataContract(CompositeType composite);

        // TODO: Add your service operations here
    }



    // Use a data contract as illustrated in the sample below to add composite types to service operations.
    // You can add XSD files into the project. After building the project, you can directly use the data types defined there, with the namespace "WCF_QC.ContractType".
    //[DataContract]
    //public class CompositeType
    //{
    //    bool boolValue = true;
    //    string stringValue = "Hello ";

    //    [DataMember]
    //    public bool BoolValue
    //    {
    //        get { return boolValue; }
    //        set { boolValue = value; }
    //    }

    //    [DataMember]
    //    public string StringValue
    //    {
    //        get { return stringValue; }
    //        set { stringValue = value; }
    //    }
    //}


}
